home *** CD-ROM | disk | FTP | other *** search
- scenario = GetProperties()
- scenario.ScenarioType = 1
- scenario.Title = "sc_Train_02_00"
- scenario.Map = "Beotorum.dat"
- scenario.Description = "sc_Train_02_01"
- scenario.Picture = "Train 02.dds"
- scenario.iSortOrder = 2
-
- scenario.vShowMessageBoxes[STDDT_AUTOFINISH_COMBAT] = false
- scenario.vShowMessageBoxes[STDDT_COMBAT_PHASE] = false
- scenario.vShowMessageBoxes[STDDT_YOU_CAPTURED_CAPITAL] = false
- scenario.vShowMessageBoxes[STDDT_YOU_CLEARED_TERRITORY] = false
- scenario.vShowMessageBoxes[STDDT_ENEMY_CLEARED_TERRITORY] = false
- scenario.vShowMessageBoxes[STDDT_YOU_CAPTURED_COUNTRY] = false
- scenario.vShowMessageBoxes[STDDT_ENEMY_CAPTURED_COUNTRY] = false
-
- Player(PT_PLAYER, RACE_HUMANS)
- Player(PT_AI, RACE_ALIENS)
-
- SetInitialCamera(0.991314, 0.000000, 0.131519, 0.000000, -0.095675, 0.686146, 0.721145, 0.000000,-0.090241, -0.727464, 0.680186, 0.000000,1560.190430, 427.496674, -1307.211182, 1.000000)
-
- function InitialMOB()
- StartMOB(1)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_02")
-
- FlyCamera(0.589713, -0.000000, 0.807613, 0.000000, -0.624837, 0.633572, 0.456252, 0.000000,-0.511681, -0.773684, 0.373626, 0.000000,1380.990967, 254.091721, -968.522156, 1.000000)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_03")
-
- FlyCamera(0.715080, 0.000000, 0.699043, 0.000000, -0.546779, 0.623049, 0.559323, 0.000000,-0.435538, -0.782183, 0.445530, 0.000000,1589.309570, 195.015366, -1152.758911, 1.000000)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_04")
-
- FlyCamera(0.880302, 0.000000, 0.474414, 0.000000, -0.386058, 0.581203, 0.716353, 0.000000,-0.275731, -0.813759, 0.511634, 0.000000,1508.794189, 329.085205, -1202.104736, 1.000000)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_05")
-
- FinishMOB()
- end
-
- function OnUnitDead(unit)
- if ( unit == 1 ) then
- StartMOB(1)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_06")
-
- FinishMOB()
- end
-
- if ( unit == 3 ) then
- StartMOB(1)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_07")
-
- FinishMOB()
- end
-
- if( GetAliveUnitsAmount( COLOR_RED ) == 0 ) then
- StartMOB(1)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_08")
-
- FinishMOB()
- end
- end
-
- function CheckForVictory()
- if( GetAliveUnitsAmount( COLOR_RED ) == 0 ) then
- return GAMERESULT_VICTORY
- end
-
- if( GetAliveUnitsAmount( COLOR_GREEN ) == 0 ) then
- return GAMERESULT_DEFEAT
- end
-
- return GAMERESULT_NONE
- end
-
- function OnEndTurn()
- if ( GetTurnNumber( COLOR_GREEN ) <= 0 ) then
- StartMOB(1)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_09")
-
- FinishMOB()
- end
- end
-
- function OnEndAITurn()
- if ( IsDead( 1 ) and IsAlive( 3 ) ) then
- StartMOB(1)
-
- ShowXBallon(51, -1, MBS_CENTER, 300, 300, "sc_Train_02_11")
-
- FinishMOB()
- end
- end
-
- function OnHexClicked(x, y, clicked_unit, selected_unit, command)
- if ( selected_unit ~= 4098 and IsAlive( 4098 ) and not HasFired( 4098 ) ) then
- if (command == CMD_MOVE or command == CMD_FIRE) then
- IncorrectAction("sc_Train_02_12")
- return
- end
- end
-
- local target
-
- if ( IsAlive( 1 ) ) then
- target = 1
- elseif ( IsAlive( 3 ) ) then
- target = 3
- elseif ( IsAlive( 2 ) ) then
- target = 2
- end
-
- if (command == CMD_MOVE) then
- if ( GetDistance( target, x, y ) > GetMaxWR( selected_unit ) ) then
- IncorrectAction("sc_Train_02_12")
- end
- end
-
- if (command == CMD_FIRE) then
- if ( clicked_unit ~= target ) then
- IncorrectAction("sc_Train_02_12")
- end
- end
-
- end
-
- old_prompt = ""
-
- local bCanEndPhase = false
-
- function OnUpdate()
- bCanEndPhase = false
-
- if ( GetGamePhase() == PHASE_COMBAT ) then
- if ( IsAlive( 4098 ) and not HasFired( 4098 ) ) then
- if ( GetSelectedUnit() ~= 4098 ) then
- ShowPrompting("sc_Train_02_13")
- else
- if ( IsAlive( 1 ) or IsDead( 3 ) ) then
- if ( GetDistance( 4098, 20, 26 ) <= 1 ) then
- ShowPrompting("sc_Train_02_14")
- else
- ShowPrompting("sc_Train_02_15")
- end
- else
- if ( GetDistance( 4098, 3 ) <= 1 ) then
- ShowPrompting("sc_Train_02_16")
- else
- ShowPrompting("sc_Train_02_17")
- end
- end
- end
-
- return
- end
-
- if ( IsAlive( 4099 ) and not HasFired( 4099 ) ) then
- if ( GetSelectedUnit() ~= 4099 ) then
- ShowPrompting("sc_Train_02_18")
- else
- if ( IsAlive( 1 ) or IsDead( 3 ) ) then
- if ( GetDistance( 4099, 20, 26 ) <= 2 ) then
- ShowPrompting("sc_Train_02_19")
- else
- ShowPrompting("sc_Train_02_20")
- end
- else
- if ( GetDistance( 4099, 3 ) <= 2 ) then
- ShowPrompting("sc_Train_02_21")
- else
- ShowPrompting("sc_Train_02_22")
- end
- end
- end
-
- return
- end
-
- ShowPrompting("sc_Train_02_23")
- bCanEndPhase = true
- end
- end
-
- function OnEndPhase( phase )
- if phase == PHASE_COMBAT then
- if not bCanEndPhase then
- IncorrectAction("sc_Train_01_05")
- end
- end
- end
-
- function aiUnit( unit )
- aiMustNot()
- aiSetFear(0)
- if (unit == 2) then
- aiHexAttraction( 20, 26, 5, 10)
- else
- aiInitialPosAttraction(5, 10)
- end
- end
-
- function InitialSetup()
-
- Country(4, ALLIANCE_FNU_ALLY)
- Money(4, MONEY_GUERRILLA, 0)
- Money(4, MONEY_TOTAL_REVENUE, 0)
-
- SetupUnit(4098, TANK, 23, 29)
- SetupUnit(4099, HBOT, 24, 30)
-
- SetupUnit(1, LBOTA, 20, 26)
- SetupUnit(2, LBOTA, 20, 24)
- SetupUnit(3, MORTARA, 19, 25)
-
- end
-